1. Field of the Invention
The present invention relates to a laptop or notebook type portable computer.
2. Description of the Related Art
In recent years, various types of laptop or notebook type portable computers have been developed.
A portable computer of this type comprises a CPU, a memory, and a plurality of various peripheral controllers. The CPU is connected to the peripheral controllers through a system bus. In this case, various commands are exchanged between the CPU and each peripheral controller. All the commands are transferred through the system bus.
Communication between the CPU and the peripheral controllers through the system bus is realized in accordance with a so-called handshake scheme. Various communication control signals must be exchanged every time a command is transferred. For this reason, no problem is posed when the number of times of command exchange between the CPU and the peripheral controllers is small. When the number of times of command exchange is increased, the CPU and the system bus are occupied for a long period of time by command transfer. The processing performance of the system as a whole is undesirably degraded.
The number of times of command exchange is increased when a special function is assigned to a specific peripheral controller to expand the function of the portable computer. That is, when the special function is assigned to the specific peripheral controller, a command for realizing this special function is also added. The added command is transferred through the system bus as in commands for realizing the conventional functions. When function expansion is performed, the number of times of command exchange is increased accordingly.
The addition of the special function makes it possible to achieve the function expansion, but the operation time of the system bus and the CPU in command transfer between the CPU and a specific peripheral controller is prolonged. As a result, the operation performance of the system as a whole is undesirably degraded.
The CPU writes a command in the I/O register in the peripheral controller or reads out the command set in the I/O register by the peripheral controller to transfer data between the CPU and the peripheral controller. For this reason, when the special function is added to the specific peripheral controller, the command required to realize this special function is also exchanged through the I/O register of the peripheral controller as in other existing commands.
When a function required to start during execution of an application program is added as a special function, contention occurs in the read and write operations of the I/O register between the application program and the special function command, thereby causing the failure of execution of the application program. For example, when execution of the special function is requested while the application under execution sets a command in the I/O register, the command for executing the special function is overwritten on the application command, thus causing the failure of execution of the application program.
The influence on the application program by such a factor can be avoided when the contents of the I/O registers set by the application program under execution are temporarily saved upon requesting execution of the special function. When this processing is performed, however, the processing procedure for executing the special function is complicated, and it takes a long period of time until actual execution of the special function is started after the special function is requested by a user.
In recent years, in a laptop or notebook type portable computer, to meet contradictory requests, i.e., an increase in CPU processing speed, performance upon mounting a large-capacity hard disk (HDD), performance upon mounting a high-resolution, high-brightness display, improvements in performance of these devices, prolongation of the drive time of a battery, improvements of usability involving a compact, lightweight arrangement, system power supply control including battery charge control, power supply control of each input/output device, and the like using a special-purpose microprocessor (i.e., a power supply control processor) in power supply control has been performed.
In a conventional portable computer having a power supply control processor of this type, however, the interface between a CPU for controlling the system and the power supply control processor is not satisfactory. Therefore, fine adjustment in power supply control cannot be performed.
In a portable computer of this type, in data exchange between the power supply control processor arranged in a power supply controller and the system side (i.e., the CPU for controlling the system), the power supply control processor has only a means for informing the CPU of the OFF state of a power switch. This information is transferred to the CPU in the following manner. Output data from the power supply control processor is monitored by an NMI interrupt generator. When this data is set in a specific state, an NMI interrupt is supplied to the system side.
For example, in a portable computer which has a function of setting a power save mode and is capable of being operated with an AC adapter or battery power supply, assume that the power save mode is set/reset as follows. When an AC adapter is plugged into and connected to the main body, the power save mode is invalidated. When the AC adapter is disconnected from the main body (the plugged state is released), the power save mode is immediately validated. Under the above assumptions, the connected or disconnected state of the AC adapter upon connecting or disconnecting the AC adapter must be transmitted to the system side. In a conventional technique, the CPU on the system side must perform polling to check the AC adapter status because the power supply control processor cannot inform the CPU on the system side of the connected or disconnected state using an interrupt. In this case, the system performance is degraded by this polling.
In a conventional portable computer of this type, a CPU (main CPU) for controlling the system must involve in processing for changing the state of a device with a key operation, and therefore system performance is undesirably degraded.
Assume that the brightness of a display is changed with a key operation. In this case, a keyboard controller for executing a key operation must send a key operation status signal to the CPU (main CPU). The CPU analyzes this status signal to send a command for changing the brightness of the display to the power supply controller. For this reason, in the conventional computer, the CPU for controlling the system is overloaded to degrade system performance.
The most popular portable computer of this type has a so-called resume processing function of reproducing the previous use state immediately preceding a power-OFF operation when the power switch is turned on again.
In a conventional portable computer of this type, in a resume mode set condition (i.e., in the resume mode ON state), various data required to perform resume processing are stored in, e.g., an RTC (Real-Time Clock) memory (CMOS memory) backed up by a battery (suspend processing) when the system power switch is turned off.
In the data storage means by the above suspend processing, however, when the system is kept unused for a long period of time, the backup power supply (battery power supply) of the memory cannot be charged, and the voltage of the battery power supply is decreased. The storage data is therefore lost, and in this case, normal resume processing cannot be performed.
Various kinds of information required for resume processing are then stored in a hard disk (HDD) (storage in a freeze mode) arranged in the system to solve the above problem.
However, data storage processing in the freeze mode requires a longer period of time than that in the suspend processing because this storage processing involves HDD access.
For example, when a power or reset switch, or the like is operated during execution in the freeze mode, data to be saved in the HDD may be damaged, and data storage in the freeze mode cannot be guaranteed.
In a portable computer such as a battery-driven personal computer, a function of displaying a remaining battery level to a user to allow the user to judge a remaining battery operation time of the computer is required to prevent the dead state of the battery during the use of the computer.
In a conventional personal computer or the like, this battery remaining level is displayed in percentage. A method of displaying the remaining battery level in percentage is as follows.
1) An A/D-converted value of a battery current is sampled with a period.
2) The sampled digital battery current value is accumulated in the form of an addition for charging and in the form of a subtraction for discharging in a battery level counter for counting the remaining battery level.
3) The remaining level count value in the fully charged state of the battery is calculated in accordance with the given battery specifications. This calculation value is defined as a 100% capacity value, and finite count values at, e.g., 90%, 80%, . . . , 0% are prepared.
4) The battery level counter value calculated every predetermined period is compared with each prepared count value in percentage to obtain the current battery level in the form of an "X percentage".
When the remaining battery level is displayed by the above method, the reference is defined by the given battery specifications. That is, this reference is based on the initial charging/discharging characteristics which can be supposed in the new state of the battery.
In general, the battery performance is greatly influenced by an application environment and is gradually degraded. When the degree of degradation is great, a difference between the displayed battery level and the actual battery level is increased.
Upon displaying the battery level in percentage, the user roughly figures out the remaining battery time in accordance with the displayed percentage and the battery time in the fully charged state. The user then continues to use the computer. In this case, it is more convenient to directly display a remaining battery time in numeric value.
This also applies to the battery charging operation. It is more convenient to display the charge time representing the charge level of the battery or the remaining charge time in numeric value in place of the percentage.
A portable computer of this type has various operation modes. For example, the portable computer can switch between speaker ON and OFF states and between the resume mode and the boot mode. To switch between these modes and check the current mode, a conventional arrangement requires to display a pop-up window on the screen upon execution of pop-up processing or the like. In this case, the application program is temporarily interrupted until the end of pop-up processing.
The displayed characters in the pop-up window may be disturbed by the application program because the pop-up window is displayed within the screen provided by the application program under execution. Pop-up processing is started using a maskable interrupt, and this interrupt is masked by the application program under execution. As a result, the pop-up processing cannot be performed.
Expanded memories of conventional personal computers are uniquely developed by different manufacturers. However, in recent years, demand has arisen for standardizing the expanded memories in the field of computer industries, and JEIDA standardized a DRAM card and issued a guideline Ver. 1.0. In U.S.A., JEDEC approved the same DRAM card specifications as those of the guideline.
In a standardized Ver. 1.0 DRAM card (to be simply referred to as a DRAM card hereinafter), PD (Presence Detect) pins are defined to allow the system to identify the card configuration.
The PD pins consist of eight pins, i.e., PD8 through PD1 (eight bits). Unique meanings are assigned to the PD pins, respectively. First of all, the pin PD8 represents a refresh type DRAM, and the pins PD7 and PD6 represent a card access time. The pin PD5 represents the number of banks. The pins PD4 through PD1 represent a combination of row/column addresses and a device type (device configuration).
There is a possibility of introducing a DRAM card which cannot be expressed by these pieces of card configuration information. To prepare for a future expansion, an expansion PD pin is reserved as "EXPANSION" in the pins PD4 through PD1. A method of using this expansion PD pin is not yet defined.
To cope with a DRAM card which cannot be expressed by only the defined card configuration information, a serial EEPROM for storing an expanded card configuration information may be mounted on the same card, and the expansion PD pin may be assigned to the serial EEPROM. More specifically, if the pins PD4 through PD1 represent "EXPANSION", the pins PD8 through PD5 are used in communication between the system side and the serial EEPROM.
A battery-driven system mainly requires to operate a DRAM at a low voltage (3.3 V) so as to reduce the power consumption. An I/O (I/O port) may require a high voltage (5 V) in compatibility with other systems. When the serial EEPROM is mounted on the DRAM card, the EEPROM must be operated at a voltage different from the operating voltage of the DRAM because the PD pin interface is connected to the I/O (I/O port). This cannot be realized by the present definitions of the DRAM card.
When a DRAM operated at 3.3 V is applied to the DRAM card, the power supply voltage may be applied from a 3.3-V power supply pin of the DRAM card. When this card is inserted into a 5-V system (i.e., a system not connected to a 3.3-V power supply), the power supply (3.3-V power supply) of the DRAM is kept floating. Only a signal having a 5-V level is applied to the DRAM to cause an operation error or damage. This trouble also occurs when the power supply voltage is applied from the 5-V power supply pin of the DRAM card and the card is inserted into a 3.3-V system.
A DRAM having a wide range operative at 3 through 5 V cannot be conveniently used because the 5- and 3.3-V power supply pins are separated.
Many personal computers of this type can perform electronic mail exchange through a mail server with other personal computers or the like upon connection with a LAN or the like through a communication interface (communication board).
In a conventional arrangement, the user cannot know whether the electronic mail has been received during execution of an application program. The user may not notice even an emergency electronic mail.
To check the presence/absence of a received mail, the user must interrupt the application program under execution and start a mail program (as one of the application programs). Upon executing this mail program, an electronic mail to him, which has been received by the mail server, must be read from the mail server and be displayed on the screen. After the user performs a confirmation operation for the display result at a keyboard or the like, the mail program is ended, and execution of the previous application program can be restored.
In the conventional arrangement described above, the application program under execution must be interrupted for a long period of time to check the presence/absence of the received electronic mail, resulting in inconvenience.
In a conventional portable computer, a key operation must be performed to switch between an internal display and an external display, as needed. The setup contents concerning the display switching are reset to the initial condition when the power switch is turned off. When the user wants to use an external display device, the key operation must be repeated every time the power switch is turned on, resulting in a cumbersome operation.